package com.asurplus.system.entity;

import com.asurplus.common.annotation.Dict;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 系统参数设置
 * </p>
 *
 * @author lizhou
 * @since 2021-01-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_param_conf")
@ApiModel(value = "SysParamConf对象", description = "系统参数设置")
public class SysParamConf extends Model<SysParamConf> {


    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "登录验证码长度")
    @TableField("login_code_len")
    private Integer loginCodeLen;

    @ApiModelProperty(value = "登录验证码类型（0--纯数字1--纯字母2--数字+字母）")
    @TableField("login_code_type")
    @Dict(dictCode = "login_code_type")
    private Integer loginCodeType;

    @ApiModelProperty(value = "短信验证码长度")
    @TableField("sms_code_len")
    private Integer smsCodeLen;

    @ApiModelProperty(value = "短信验证码类型（0--纯数字1--纯字母2--数字+字母）")
    @TableField("sms_code_type")
    @Dict(dictCode = "sms_code_type")
    private Integer smsCodeType;

    @ApiModelProperty(value = "默认登录密码")
    @TableField("default_password")
    private String defaultPassword;

    @ApiModelProperty(value = "创建者")
    @TableField("create_user")
    private Integer createUser;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    @TableField("update_user")
    private Integer updateUser;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    private Date updateTime;

    @ApiModelProperty(value = "删除状态（0--未删除1--已删除）")
    @TableField("del_flag")
    @TableLogic
    private Integer delFlag;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
